﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace DesktopGarden.Classes
{
    [Serializable]
    public class Plant
    {
        /// <summary>
        /// ID of the flower
        /// </summary>
        public Guid ID { get; set; }

        /// <summary> 
        /// The name of the Plant.
        /// </summary>
        public string Name { get; set; }
            
        public const string PRODGOOD = "Best";

        public const string PRODAVG = "Average";

        public const string PRODPOOR = "Poor";
        public const string VEG = "Vegetable";

        public const string FRUIT = "Fruit";

        public const string FLOWER = "Flower";

        /// <summary>
        /// File of any picture uploaded to attach to the picture
        /// </summary>
        public string Picture { get; set; }

        /// <summary>
        /// TYpe of plant, flowers, veggies, etc
        /// </summary>
        public string PlantType { get; set; }

        /// <summary>
        /// Plant Life Cycle, Annual or Perennial
        /// </summary>
        public string PlantLifeCycle { get; set; }
        
        /// <summary>
        /// the growing season of the flower, early spring to fall
        /// </summary>
        public string Season;

        public const string EARLYSPRING = "Early Spring";

        public const string SPRING = "Spring";

        public const string SUMMER = "Summer";

        public const string FALL = "Fall";
        /// <summary>
        /// Plant is Annual
        /// </summary>
        public const string Annual = "Annual";

        /// <summary>
        /// Plant is a Perennial
        /// </summary>
        public const string Perennial = "Perennial";

        public string PlantSeason { get; set; }
        /// <summary>
        /// smallest int Region the plant can grow
        /// </summary>
        public int StartRegion;

        /// <summary>
        /// largest inst region the plant can grow  
        /// </summary>
        public int EndRegion;


        /// <summary>
        /// the height of the plant in inches
        /// </summary>
        public int Height { get; set; }

        /// <summary>
        /// The amount of sunglight for a plant
        /// </summary>
        public string Sunlight { get; set; }

        /// <summary>
        /// Full sun string for plant
        /// </summary>
        public const string FULLSUN = "Full Sun";

        /// <summary>
        /// Partial string for plant
        /// </summary>
        public const string PARSUN = "Partial Sun";

        /// <summary>
        /// Full shade for plant
        /// </summary>
        public const string NOSUN = "Full Shade";

        /// <summary>
        /// User Description of the plant
        /// </summary>
        public string Description;

        /// <summary>
        /// color of the flower
        /// </summary>
        public string Color;

        /// <summary>
        /// water required for plants   
        /// </summary>
        public string Waterlevel;

        /// <summary>
        /// Plant requires little water
        /// </summary>
        public const string LOWWATER = "Low Water";

        /// <summary>
        /// Plant requires avg amount of waters
        /// </summary>
        public const string AVGWATER = "Avg Water";

        /// <summary>
        /// plant requires a lot of water
        /// </summary>
        public const string HIGHWATER = "High Water";

        /// <summary>
        /// the spread required for the plant in inches
        /// </summary>
        public int Spread;


        public Plant()
        {
            ID = Guid.NewGuid();
        }
    }
}
